package com.wanna.common.doc.annotation;

import com.wanna.common.doc.entity.RequestType;

import java.lang.annotation.*;

/**
 * 接口方法
 *
 * @author wanna
 * @since 2018-11-25
 */
@Documented
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiMethod {

    /**
     * 接口方法名称
     *
     * @return name
     */
    String name();

    /**
     * 接口路径
     *
     * @return api path
     */
    String path();

    /**
     * 请求方式
     *
     * @return RequestType
     */
    RequestType type() default RequestType.GET;

    /**
     * 接口描述
     *
     * @return description
     */
    String description() default "";

    /**
     * json 格式的返回值类型
     *
     * @return returnJson
     */
    String returnJson() default "";

    /**
     * class 形式的返回值,会转json
     *
     * @return returnClass
     */
    Class returnClass() default Object.class;

    /**
     * 是否是集合类型  list  set  ..
     *
     * @return true or false
     */
    boolean collectionType() default false;

}
